草庐IT

cesium 3dtile

全部标签

在Cesium中实现与CAD的DWG图叠加显示分析

前言Cesium是一个非常优秀的三维地球GIS引擎(开源且免费,能够加载各种符合标准的地图图层,瓦片图、矢量图等都支持。而AutoCAD是为微型计算机上应用CAD技术而开发的绘图程序,它有很强的图形编辑能力,非常适合绘制工程图纸,绘图的精确性和绘图方法的丰富性使得它在机械、电子、建筑、航空航天等领域有着广泛的应用,常见的一些工程图纸基本上都是AutoCAD绘制的DWG格式的图纸;在实际中经常会遇到需要将CAD的图纸叠加到cesium上面,与地表地形叠加显示查看。那如何实现在Cesium中实现与CAD的DWG图叠加显示分析呢?技术分析业内一般的做法步骤为:(1)在AutoCAD中把DWG图导出为

Cesium DrawCommand [1] 不谈地球 画个三角形

目录0.前言0.1.源码中的DrawCommand1.创建1.1.构成要素-VertexArray1.2.构成要素-ShaderProgram1.3.构成要素-WebGL的统一值1.4.渲染状态对象-RenderState1.5.其它构成因子①绘制的通道类型-Pass②绘制的图元类型-WebGL绘制常数③离屏绘制容器-Framebuffer④模型坐标变换矩阵-Matrix4⑤其它1.6.我们来实践一发纯色三角形2.意义-自定义Primitive(PrimitiveLike)点到为止3.参考资料0.前言PrimitiveAPI是公开的API的最底层了,它面向的场景是高性能、可自定义材质着色器(A

Cesium DrawCommand [1] 不谈地球 画个三角形

目录0.前言0.1.源码中的DrawCommand1.创建1.1.构成要素-VertexArray1.2.构成要素-ShaderProgram1.3.构成要素-WebGL的统一值1.4.渲染状态对象-RenderState1.5.其它构成因子①绘制的通道类型-Pass②绘制的图元类型-WebGL绘制常数③离屏绘制容器-Framebuffer④模型坐标变换矩阵-Matrix4⑤其它1.6.我们来实践一发纯色三角形2.意义-自定义Primitive(PrimitiveLike)点到为止3.参考资料0.前言PrimitiveAPI是公开的API的最底层了,它面向的场景是高性能、可自定义材质着色器(A

点击获取Cesium中加载的3DTile模型的属性信息(二)

1.添加鼠标点击事件//鼠标单击左键事件viewer.screenSpaceEventHandler.setInputAction(functiononMouseClick(click){//自己需要写逻辑的地方},Cesium.ScreenSpaceEventType.LEFT_CLICK); 2.属性信息的位置2.1 viewer.scene.pick(click.position)varpickedFeature=viewer.scene.pick(click.position);if(Cesium.defined(pickedFeature)){console.log(pickedFe

点击获取Cesium中加载的3DTile模型的属性信息(二)

1.添加鼠标点击事件//鼠标单击左键事件viewer.screenSpaceEventHandler.setInputAction(functiononMouseClick(click){//自己需要写逻辑的地方},Cesium.ScreenSpaceEventType.LEFT_CLICK); 2.属性信息的位置2.1 viewer.scene.pick(click.position)varpickedFeature=viewer.scene.pick(click.position);if(Cesium.defined(pickedFeature)){console.log(pickedFe

Cesium鼠标移动到模型上,给模型添加高亮轮廓(四)

2023-01-09Cesium虽然也支持两种方式(Entity和Primitive)加载3DTiles数据,但因为多数情况下3DTiles数据都是成片区的数据,数据量比较大,所以为了保证性能,建议使用Primitive方式。entity和primitives的处理逻辑稍有不同,正因如此,我们需要针对entity和primitives分开写 //绑定鼠标移动到实体上时候的事件viewer.screenSpaceEventHandler.setInputAction(functiononMouseMove(movement){varpickedFeature=viewer.scene.pick(

Cesium鼠标移动到模型上,给模型添加高亮轮廓(四)

2023-01-09Cesium虽然也支持两种方式(Entity和Primitive)加载3DTiles数据,但因为多数情况下3DTiles数据都是成片区的数据,数据量比较大,所以为了保证性能,建议使用Primitive方式。entity和primitives的处理逻辑稍有不同,正因如此,我们需要针对entity和primitives分开写 //绑定鼠标移动到实体上时候的事件viewer.screenSpaceEventHandler.setInputAction(functiononMouseMove(movement){varpickedFeature=viewer.scene.pick(

Cesium中各种坐标以及相互转换(七)

2023-01-111.坐标系Cartesian3笛卡尔坐标,又叫世界坐标,是一个三维空间中的点,具有xyz,类似:(-1314910.6675027965,5328726.846411945,3238183.748823095),单位为米 原点在椭球中心  Cartesian2是二维空间中的点,通常是屏幕坐标console.log(`鼠标点击位置为:${click.position}`); 鼠标点击位置为:(372.79998779296875,213.7999997138977)屏幕左上角为原点,向右为x正方向,向下为y正方向  cartographic 和Cartesian3一样是三维空

Cesium中各种坐标以及相互转换(七)

2023-01-111.坐标系Cartesian3笛卡尔坐标,又叫世界坐标,是一个三维空间中的点,具有xyz,类似:(-1314910.6675027965,5328726.846411945,3238183.748823095),单位为米 原点在椭球中心  Cartesian2是二维空间中的点,通常是屏幕坐标console.log(`鼠标点击位置为:${click.position}`); 鼠标点击位置为:(372.79998779296875,213.7999997138977)屏幕左上角为原点,向右为x正方向,向下为y正方向  cartographic 和Cartesian3一样是三维空

Cesium点击改变entity/primitives颜色与恢复原色(三)

2023-01-08建筑物是primitives,两个娃娃是entity加载娃娃代码://粉色varentity6=viewer.entities.add({id:6,position:newCesium.Cartesian3.fromDegrees(103.8603,30.7049,490),//设置朝向和翻滚角度orientation:orientation,model:{uri:"../../../static/3DModel/higokumaru__honkai_impact_3rd/scene.gltf",show:true,scale:5.0,silhouetteColor:Ces